#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

class DcmDataset;
class DcmRepresentationParameter;


namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

    void CalDcmItemSize();

    bool SafeChooseRepresentation(DcmDataset* dcmData, int xfer, int quality);
    bool SaveDataset( DcmDataset *pDS, quint8 eXfer, long lTempSize, QByteArray &aBuffer );
    bool SaveDataset( DcmDataset *pDS, quint8 eXfer, long lTempSize, void* &pBuffer, long &lBufferSize );

    bool SaveEmptyDicom();
    bool SaveDcmToBMP();
    void ChangeDcmItemAndSave();
private slots:
    void on_dcmjpeg_compress_clicked();

    void on_dcmjpeg_decompress_clicked();

    void on_ShowDicom_clicked();

    void on_DecodeBase64_clicked();

    void on_ChangeDcmItemAndSaveBtn_clicked();

    void on_SaveDcmBmpBtn_clicked();

    void on_ConvertDcm2BytearrBtn_clicked();

    void on_CalDcmItemSizeBtn_clicked();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
